package com.cmcc.zysoft.infocollection.service;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cmcc.zysoft.infocollection.dao.NoticePcDao;
import com.cmcc.zysoft.infocollection.model.DictData;
import com.cmcc.zysoft.infocollection.model.News;
import com.starit.common.dao.hibernate.HibernateBaseDao;
import com.starit.common.dao.service.BaseServiceImpl;
import com.starit.common.dao.support.Pagination;

@Service
public class NoticePcService extends BaseServiceImpl<News, String> {
	
	@Autowired
	private NoticePcDao noticePcDao;
	

	@Override
	public HibernateBaseDao<News, String> getHibernateBaseDao() {
		return this.noticePcDao;
	}
    
    /**
	 * 获取各通知公告条数
	 * @param userId 用户ID
	 * @author jin.congshan
	 * @date 2013-01-08
	 */
    public Map<String, Object> getUserNoticeCount(String userId, String newsType){
    	return this.noticePcDao.getUserNoticeCount(userId, newsType);
    }
    
    /**
     * 获取通知公告分页列表数据
     * @param userId 用户ID
     * @param search 查询
     * @param page
     * @param rows
     * @author jin.congshan
     * @date 2013-1-9 下午7:41:02
     */
    public Pagination<?> getNoticePageData(String userId, String code, String search, int page, int rows){
    	return this.noticePcDao.getNoticePageData(userId, code, search, page, rows);
    }
    
    /**
     * 获取信息反馈分页列表数据
     * @param userId 用户ID
     * @param newsType 信息分类
     * @param code 查询代码
     * @param typeCode 数据字典代码
     * @param search 查询
     * @param page
     * @param rows
     * @author jin.congshan
     * @date 2013-1-3 下午3:41:02
     */
    public Pagination<?> getMarketInfoPageData(String userId, String newsType, String code, String search, int page, int rows){
    	return this.noticePcDao.getMarketInfoPageData(userId, newsType, code, search, page, rows);
    }
    
    /**
     * 
     * @Description : 按状态检查通知公告数量
     * @author jin.congshan
     * @date 2013-1-10 下午9:32:01
     * @param state 状态
     * @param ids 通知公告ID字符串
     * @return
     *
     */
    public int checkNoticeState(String state, String ids){
    	return this.noticePcDao.checkNoticeState(state, ids);
    }
    
    /**
     * 
     * @Description : 获取指定ID组中非指定状态的通知公告名称集合
     * @author jin.congshan
     * @date 2013-1-10 下午9:36:16
     * @param ids 通知公告ID字符串
     * @return
     *
     */
    public String getNoticeNameStr(String ids, String state){
    	return this.noticePcDao.getNoticeNameStr(ids, state);
    }
    
    /**
     * 
     * @Description : 删除指定ID组的通知公告
     * @author jin.congshan
     * @date 2013-1-10 下午9:49:03
     * @param ids 通知公告ID字符串
     *
     */
    public void deleteNotice(String ids){
    	this.noticePcDao.deleteNotice(ids);
    }
    
    /**
     * 
     * @Description ：检查通知公告标题是否已经存在
     * @author jin.congshan
     * @date 2013-1-13 下午2:28:49
     * @param newsId 通知公告ID
     * @param companyId 公司ID
     * @param title 标题
     * @param newsType 通知公告类型
     * @return
     *
     */
    public int checkNoticeName(String newsId, String companyId, String title, String newsType) {
    	return this.noticePcDao.checkNoticeName(newsId, companyId, title, newsType);
    }
    
    /**
	 * 
	 * @Description ：根据编码获取数据字典列表
	 * @author jin.congshan
	 * @date 2013-1-13 下午3:10:56
	 * @return
	 *
	 */
    public List<DictData> getDictDataByTypeCode(String typeCode){
		return this.noticePcDao.getDictDataByTypeCode(typeCode);
	}
    
    /**
     * 
     * @Description ：获取用户分页列表数据
     * @author jin.congshan
     * @date 2013-1-13 下午6:11:21
     * @param companyId 公司ID
     * @param page 页码
     * @param rows 页面大小
     * @param deptId 部门ID
     * @param keyword 关键字
     * @return
     *
     */
    public Pagination<Object> userPageData(String companyId, String deptId, String keyword, int page, int rows){
    	return this.noticePcDao.userPageData(companyId, deptId, keyword, page, rows);
    }
    
    /**
     * 
     * @Description ：获取信息详情
     * @author jin.congshan
     * @date 2013-1-13 下午8:32:05
     * @param newsId 信息ID
     * @return
     *
     */
    public Map<String, Object> getNewsDetailInfo(String newsId, String userId){
    	return this.noticePcDao.getNewsDetailInfo(newsId, userId);
    }
    
    /**
     * 查找市场信息反馈的图片
     * @param newsId
     * @return
     */
    public List<Map<String, Object>> getImgs(String newsId){
    	return this.noticePcDao.getImgs(newsId);
    }
}
